<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // ES6 字符串拓展

    // 了解
    // String.fromCodePoint()
    // ES5 提供String.fromCharCode()方法，用于从 Unicode 码点返回对应字符，但是这个方法不能识别码点大于0xFFFF的字符。 (0 - 65536)

    // console.log(String.fromCharCode(111));
    // console.log(String.fromCodePoint(0x20BB9));

    // ES6 提供了String.fromCodePoint()方法，可以识别大于0xFFFF的字符，弥补了String.fromCharCode()方法的不足。在作用上，正好与下面的codePointAt()方法相反。

    // String.raw()   该方法返回一个斜杠都被转义（即斜杠前面再加一个斜杠）的字符串，往往用于模板字符串的处理方法
    // var result = String.raw`Hi\n${2 + 3}!`
    // console.log(result);

    // ES6的拓展方法
    // includes()  startsWith()    endsWith()
    // includes()  判断字符串中是否包含某个或某段字符串
    // startsWith()  判断字符串是否以某个或某段字符串开头
    // endsWith()  判断字符串是否以某个或某段字符串结尾

    var str = 'good123'
    console.log(str.includes('123'))
    console.log(str.startsWith('go'))
    console.log(str.endsWith('go'))
    console.log('--------------------');


    // repeat()   方法返回一个新字符串，表示将原字符串重复n次。
    var str = 'hi*'
    console.log(str.repeat(2))
    // padStart() padEnd()
    // padStart(len,padStr)   头部补全
    // padEnd(len,padStr)     尾部补全
    var str = 'go'
    var res = str.padEnd(5, 'od123')
    console.log(res)
    console.log('---------------------')
    // len => 字符串补全之后的长度
    // padStr  => 用于补全的字符串

    /* var str = "x";  // 原字符串: len => 1
    var result = str.padStart(5, "ab");  // 字符串补全之后的长度: 5  => 5-1 => 4
    console.log(result);


    var str = "x";  // 原字符串: len => 1
    var result = str.padStart(5, "abc");  // 字符串补全之后的长度: 5  => 5-1 => 4
    //   4 / 3 => 向上取值 => 2  => abcabc  => 截取前四个
    console.log(result);

    var str = "x";  // 原字符串: len => 1
    var result = str.padEnd(5, "ab");  // 字符串补全之后的长度: 5  => 5-1 => 4
    console.log(result);

    var str = "x";  // 原字符串: len => 1
    var result = str.padEnd(5, "abc");  // 字符串补全之后的长度: 5  => 5-1 => 4
    console.log(result); */



    // 优化处理:  如果月份 日期 时分秒 小于 10 => 在前面拼接0
    // var date = new Date();
    // var month = date.getMonth() + 1;
    // month = month < 10 ? "0" + month : month;
    // console.log(month);

    var date = new Date();
    var month = date.getMonth() + 1;
    // console.log(month);
    var result = month.toString().padStart(2, "0");
    console.log(result);
    console.log('------------------------');


    // trim()  去除首尾空格
    // trimLeft() 是trimStart()的别名，  去除头部空格
    // trimRight()是trimEnd()的别名。  去除尾部空格

    var str = "       hello          world      "
    console.log(1, str.trim());
    console.log(1, str.trimStart());
    console.log(1, str.trimEnd());
    console.log(1, str.replace(/\s/g, ""));





</script>

</html>